using System;
using System.Collections.Generic;
using System.ServiceModel;
using WcfService1.DTO;

namespace WcfService1
{
    [ServiceContract]
    public interface IJurnalServices
    {
        [OperationContract]
        List<JurnalDTO> GetList(int page, out long recordCount, string sortProperty = null,
                                string sortType = "ASC");

        [OperationContract]
        bool Save(JurnalDTO JurnalDTO);

        [OperationContract]
        bool Delete(JurnalDTO jurnalDto);

        [OperationContract]
        List<JurnalDTO> GetListByCriteria(Dictionary<String, Object> criteria, string expression, int page,
                                          out long recordCount);

        [OperationContract]
        JurnalDTO GetJurnal(string noVoucher);

        [OperationContract]
        bool DeleteDetail(JurnalDetailDTO JurnalDetailDto);

        [OperationContract]
        List<JurnalDTO> GetListByPeriodeAndAkun(DateTime endDate, CoaDTO coa);


        [OperationContract]
        List<JurnalDTO> GetListAll(int page, out long recordCount, string sortProperty = null,
                                   string sortType = "ASC");
    }
}